/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */




package dominio;


import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;


/**
 *
 * @author halt
 */
public class Cliente implements Serializable{

    private int numCliente;
    private String nombre;
    private String apellido1;
    private String apellido2;
    private String fechaN;
    private String direccion;
    private String codigoP;
    private String ciudad;
    private String provincia;
    private int telefono;
    private int tipoPiel;/*1->fototipo 1 [...]*/
    private int colorPelo; /*1->Rubio,2->Castaño claro,3->Castaño
                            4->Castaño oscuro, 5->Negro*/
    private int intensidadPelo; /*1->Bajo,2->Medio,3->Alto*/
    private List<Sesion> historial;

    public Cliente() {
        historial = new ArrayList<Sesion>();
    }

    public String Int2ColorPelo(int a){
        String color = "";
        switch(a){
            case 1:
                color = "Rubio";
                break;
            case 2:
                color = "Castaño claro";
                break;
            case 3:
                color = "Castaño";
                break;
            case 4:
                color = "Castaño oscuro";
                break;
            case 5:
                color = "Negro";
                break;
            default:
                break;
        }
        return color;
    }

    private Sesion buscarSesion(String idSesion) {
        Sesion aux = null;
        int n = historial.size();
        boolean enc =  false;
        for (int i = 0; i < n && !enc; ++i) {
            enc = idSesion.equals(historial.get(i).getIdSesion());
        }
        return aux;
    }

    /*PRE: suponemos que las sesiones son continuas*/
    public boolean anadirSesion(Sesion s) {
        if (buscarSesion(s.getIdSesion()) == null) {
            historial.add(s);
            return true;
        }
        else return false;
    }
    /*se añade la ultima Sesion programada al final si no existe ya la Sesion s*/

    public boolean borrarSesion(Sesion s) {
        return historial.remove(s);
    }

    public boolean modSesion(String idSesion,int ano, int mes, int dia, String hora) {
        Sesion s = buscarSesion(idSesion);
        if (s == null | s.getRealizada() == true) return false;
        else{
            s.setAno(ano);
            s.setMes(mes);
            s.setDia(dia);
            s.setHora(hora);
            return true;
        }
    }

    public int getNumCliente() {
        return this.numCliente;
    }

    public String getNombre() {
        return this.nombre;
    }

    public String getApellido1() {
        return this.apellido1;
    }

    public String getApellido2() {
        return this.apellido2;
    }

    public String getFechaN() {
        return this.fechaN;
    }

    public String getDireccion() {
        return this.direccion;
    }

    public String getCodigoP() {
        return this.codigoP;
    }

    public String getCiudad() {
        return this.ciudad;
    }

    public String getProvincia() {
        return this.provincia;
    }

    public String getEdad() {
        int edad;
        String fecha[] = this.fechaN.split("/");
        java.util.Calendar c = new java.util.GregorianCalendar();
        int ano = Integer.parseInt(fecha[2]);
        int mes = Integer.parseInt(fecha[1]);
        int diferenciaAnual = c.YEAR - ano;
        if (mes > c.MONTH) edad = diferenciaAnual - 1;
        else edad = diferenciaAnual;
        return String.valueOf(edad);
    }



    public int getTelefono() { return this.telefono;}
    public int getTipoPiel() { return this.tipoPiel;}
    public int getColorPelo() { return this.colorPelo;}
    public int getIntensidadPelo(){ return this.intensidadPelo;}

    public void setNumCliente(int numCliente) {
        this.numCliente = numCliente;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public void setApellido1(String apellido1) {
        this.apellido1 = apellido1;
    }

    public void setApellido2(String apellido2) {
        this.apellido2 = apellido2;
    }

    public void setFechaN(String fechaN) {
        this.fechaN = fechaN;
    }

    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }

    public void setCodigoP(String codigoP) {
        this.codigoP = codigoP;
    }

    public void setCiudad(String ciudad) {
        this.ciudad = ciudad;
    }

    public void setProvincia(String provincia) {
        this.provincia = provincia;
    }

    public void setTelefono(int telefono){this.telefono = telefono;}
    public void setTipoPiel(int tipoPiel){this.tipoPiel = tipoPiel;}
    public void setColorPelo(int colorPelo) {this.colorPelo = colorPelo;}
    public void setInstensidadPelo(int intensidadPelo) {this.intensidadPelo = intensidadPelo;}

}
